1 POKE 53280,PEEK(53281) 10 INPUT"[147] OUTPUT TO PRINTER (1)[146] OR SCREEN (0)[146]";PR 20 IFPR<0ORPR>1 THEN10 30 OPEN4,PR+3:PR=-PR 40 IF NOT PR THEN100 50 PRINT"[147] POSITION PAPER AND PRESS RETURN" 60 GETA$:IFA$<>CHR$(13)THEN60 70 GOTO100 100 PRINT#4,"[147] INSTRUCTIONS FOR KEYDEF, A KEYBOARD " 150 PRINT#4," REDEFINITION PROGRAM FOR THE " 200 PRINT#4," COMMODORE 64. " 250 PRINT#4," " 300 PRINT#4,"KEYDEF IS A UTILITY PROGRAM DESIGNED" 350 PRINT#4,"TO REDEFINE THE KEYBOARD OF THE" 400 PRINT#4,"COMMODORE 64. IT ALLOWS FOR THE" 450 PRINT#4,"CREATING AND SAVING OF DEFINITION" 500 PRINT#4,"FILES, LOADING OF PREVIOUSLY DEFINED" 550 PRINT#4,"FILES, AND PROVIDES FOR LOADING" 600 PRINT#4,"OF THE STANDARD DVORAK KEYBOARD." 650 PRINT#4," " 700 PRINT#4,"THE PROGRAM IS BASICALLY MENU DRIVEN" 750 PRINT#4,"AND WHAT FOLLOWS IS A BRIEF DESCRIPTION" 800 PRINT#4,"OF THE MENU CHOICES." 850 IF NOT PR THEN GOSUB 60000 870 PRINT#4," " 900 PRINT#4,"[147] MENU 1: [146]" 950 PRINT#4," " 1000 PRINT#4,"CHOICE 1 LOADS A PREVIOUSLY SAVED" 1050 PRINT#4,"DEFINITION FILE FROM TAPE OR DISK," 1100 PRINT#4,"DEPENDING ON FLAG F1 IN LINE 7." 1150 PRINT#4,"(F1 SHOULD BE 1 FOR DISK AND 0 FOR" 1200 PRINT#4,"TAPE.)" 1220 PRINT#4," " 1250 PRINT#4,"CHOICE 2 PUTS PROGRAM IN 'CREATE' MODE" 1300 PRINT#4,"AND TRANSFERS CONTROL TO MENU 2." 1350 PRINT#4," " 1400 PRINT#4,"CHOICE 3 SAVES WHICHEVER KEY TABLE" 1450 PRINT#4,"IS CURRENTLY IN USE. (THIS MAY" 1500 PRINT#4,"EVEN BE THE ROM TABLE.) FLAG F1" 1520 PRINT#4,"APPLYS AS WITH CHOICE 1 ABOVE." 1550 PRINT#4," " 1600 PRINT#4,"CHOICE 4 IMPLEMENTS A DVORAK KEYBOARD." 1650 PRINT#4,"(ANSI STANDARD X4.22-1983)" 1700 PRINT#4," " 1750 PRINT#4,"CHOICE 5 TRANSFERS CONTROL TO MENU 3." 1800 IF NOT PR THEN GOSUB 60000 1850 PRINT#4,"[147] MENU 2: [146]" 1900 PRINT#4," " 1950 PRINT#4,"CHOICE 1 WILL ENABLE THE PROGRAMMER" 2000 PRINT#4,"TO ASSIGN CTRL'ED, COMMODORE'ED AND" 2050 PRINT#4,"SHIFTED KEYS INDEPENDENTLY OF THE" 2100 PRINT#4,"UNSHIFTED KEYS." 2150 PRINT#4," " 2200 PRINT#4,"CHOICE 2 ASSIGNS ALL FUNCTIONS OF" 2250 PRINT#4,"THE KEYS, (CTRL'ED, COMMODORE'ED AND" 2300 PRINT#4,"SHIFTED) ALONG WITH THE UNSHIFTED" 2350 PRINT#4,"KEY, SIMULTANEOUSLY." 2400 IF NOT PR THEN GOSUB 60000 2420 IF PR THENJ=20:GOSUB61000 2450 PRINT#4,"[147] 'CREATE' MODE " 2470 PRINT#4," " 2500 PRINT#4,"IN THIS MODE, THE PROGRAM REQUIRES" 2550 PRINT#4,"TWO PIECES OF DATA. WHEN THE CURSOR" 2600 PRINT#4,"(AN UNFLASHING SQUARE) APPEARS IN THE" 2650 PRINT#4,"'KEY LABEL' COLUMN, PRESS THE KEY TO" 2700 PRINT#4,"BE REASSIGNED. THE TABLE WILL LIST THE" 2750 PRINT#4,"CURRENT ASSIGNMENT OF THAT KEY, THEN" 2800 PRINT#4,"THE CURSOR WILL APPEAR IN THE 'NEW" 2850 PRINT#4,"ASSIGNMENT' COLUMN. AT THIS TIME PRESS" 2900 PRINT#4,"THE KEY LABELED WITH THE NEW CHARACTER" 2950 PRINT#4,"TO BE ASSIGNED, OR, IF A CHR$ CODE IS " 3000 PRINT#4,"TO BE ENTERED, PRESS THE 'STOP' KEY." 3050 PRINT#4,"AFTER REASSIGNING AS MANY KEYS AS" 3100 PRINT#4,"DESIRED, PRESS THE 'STOP' KEY WHILE THE" 3150 PRINT#4,"CURSOR IS IN THE 'KEY LABEL' COLUMN" 3200 PRINT#4,"TO ENTER THE NEW KEY ASSIGNMENTS INTO" 3250 PRINT#4,"THE KEY TABLE." 3255 IF PR THEN 3300 3260 IF NOT PR THEN GOSUB 60000 3270 PRINT#4,"[147] 'CREATE' MODE " 3300 PRINT#4," " 3350 PRINT#4,"THE 'STOP' KEY ITSELF CANNOT BE" 3400 PRINT#4,"REASSIGNED." 3425 PRINT#4," " 3450 PRINT#4,"CHR$ CODES CANNOT BE ASSIGNED WHILE IN" 3500 PRINT#4,"THE MODE WHERE ALL SHIFTS ARE ASSIGNED" 3550 PRINT#4,"SIMULTANEOUSLY (INDICATED BY '*' TO" 3600 PRINT#4,"THE LEFT OF THE KEY LABEL)." 3650 IF NOT PR THEN GOSUB 60000 3700 PRINT#4,"[147] MENU 3: [146]" 3750 PRINT#4," " 3800 PRINT#4,"CHOICE 1 ENDS THE PROGRAM AFTER " 3850 PRINT#4,"RESTORING THE ORIGINAL COMMODORE 64" 3900 PRINT#4,"KEY ASSIGNMENTS." 3950 PRINT#4," " 4000 PRINT#4,"CHOICE 2 ENDS THE PROGRAM LEAVING THE" 4050 PRINT#4,"USER DEFINED KEY TABLE IN EFFECT." 4100 IF NOT PR THEN GOSUB 60000 4150 PRINT#4,"[147] THE DVORAK KEYBOARD: [146]" 4200 PRINT#4," " 4250 PRINT#4," " 4300 PRINT#4," 1 2 3 4 5 6 7 8 9 0" 4320 PRINT#4," " 4350 PRINT#4," / , . P Y F G C R L" 4370 PRINT#4," " 4400 PRINT#4," A O E U I D H T N S" 4420 PRINT#4," " 4450 PRINT#4," ; Q J K X B M W V Z" 4470 PRINT#4," " 59999 PRINT#4:CLOSE4:END 60000 PRINT#4,"  HIT ANY KEY TO CONTINUE " 60050 GETA$:IFA$=""THEN60050 60100 RETURN 61000 FORI=1TOJ:PRINT#4," ":NEXT 61100 RETURN